開始之前,先來談談工程師的日常
不知道大家有沒有一個體會,總是覺得為什麼再怎麼整理都整理不好? 不管是程式碼、房間或是人生。
回到實際一點的例子,時間有限且空間就是這麼大,但東西卻越來越多,越是追求收納反而越容易堆滿東西。
資本主義的社會明明是有限的資源中卻想要追求無限的可能,握緊拳頭的時候沒有任何的空間,當然也就沒辦法再拿起什麼,於是我們開始學會放手,哀悼和告別舊的自己與關係,才繼續走向新的地方。
如同萬物,有開始,也會結束。
有無相生是道教哲學的一個重要概念,要先有空間,才會有機會存在與擁有。
有與無是相對的,一個概念需要存在,才能有相對的概念,就像是有光也才能有影子,當現在期待著不同的未來,那我們就要學會捨棄一些東西,先讓現在成為無的狀態在未來也才會存在有。
在網路業中,當明確的商業目標和好的規格文件出現後才會有程式碼,但沒有程式碼也沒有辦法達成商業目標,這就是有無相生的體現,有無相生鼓勵我們追求平衡與和諧,過分強調某一方面就像握緊的雙手可能最後什麼都抓不到。
優化程式開發流程時,過於追求完美或過度工程化可能會導致浪費時間和資源,也該同時關注實際商業需求並學習在追求效率和品質之間取得平衡,在寫程式的世界中,該拋棄的是不必要的複雜結構。
在生活中,是放下無謂的擔憂和煩惱,追求快樂和內心的平靜,追求完美,但卻時常忘記了生活的美好。
這就是為什麼我們需要一種魔法,一種斷捨離的魔法。
斷捨離的過程中,要判斷的就是這些東西是不是真的需要是否要丟掉,以及決定物品的定位才會整齊和方便尋找。
程式碼也是一樣,究竟那些傳承祖產是不是該留著? 先進行全域搜尋確定原本到底有多少類似的情境,才進行整理和重構,只留下真的有需要的,剩下通通都刪掉。
有人可以說出什麼是無瑕的程式碼嗎? 對我來說那就是一行程式都沒有寫的程式碼,沒有寫 code 也就不會有 bug。
在程式碼、生活中的斷捨離,我們該學會不陷入無休止的深思熟慮,不被工作壓垮,盡可能可以在每一天結束時提前下班,享受更多時間來探索這個精彩的世界。
這 30 天,期許自己每天花三分鐘的時間練習斷捨離,目標是透過架構、設計模式、重構的方法論來達到提高開發效率、減少維護上的混亂、更好的專注力、更好的生活品質,也就是學會更快下班的方法。